Na grande peça de um programa em C++, os objetos são como atores. Alguns permanecem no palco durante toda a apresentação, mas a maioria—os objetos locais—são entidades efêmeras que aparecem por uma única cena e desaparecem para sempre. Esta lição estabelece a distinção fundamental entre a visibilidade (Escopo) e sua existência (Vida).
1. Escopo Lexical vs. Vida de Execução
O Escopo de um nome é uma propriedade de tempo de compilação: é a região do texto do programa onde um nome pode ser usado. Por outro lado, Vida é uma propriedade de tempo de execução: a duração durante a qual o objeto ocupa um endereço físico na memória.
2. Objetos Automáticos
Objetos que existem apenas enquanto um bloco está sendo executado são objetos automáticos. São criados quando o controle passa pela sua definição (int n = 0;) e destruídos quando a chave de fechamento (}) é alcançada. Parâmetros são, na verdade, variáveis locais inicializadas pelos argumentos.